- Print
- DarkLight
Update an existing reader group.
Updates the metadata and associations of an existing reader group, including its title, description, associated readers, invited SSO users, and access scope. All provided fields overwrite the existing values; omitting associated_readers defaults it to an empty list. Requires the UpdateRolesAccountsAndGroups permission. Related endpoints: GET /v3/projects/{projectId}/readers/groups/{groupId} to retrieve current group state before updating, DELETE /v3/projects/{projectId}/readers/groups/{groupId} to delete the group.
All V3 endpoints require a Bearer token. Generate tokens in the Document360 portal under Settings > API Tokens. Tokens are project-scoped, require the customerApi scope, and do not expire by default. Tokens can be revoked at any time from the portal. Include the token in every request: Authorization: Bearer <your-token>. Alternatively, use the Authorize button below to sign in via OAuth2 Authorization Code flow with PKCE.
The unique identifier of the project. Retrieve project IDs from GET /v3/projects.
The identifier of the reader group to update. Retrieve group IDs from GET /v3/projects/{projectId}/readers/groups.
Reader group update details.
Updates the group's name, description, and access scope.
{
"title": "Beta Testers (v2)",
"description": "Updated group with expanded access.",
"associated_readers": [
"d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f9a"
],
"access_scope": {
"access_level": "project",
"categories": null,
"project_versions": null,
"languages": null
},
"associated_invited_sso_users": null
}Request to update an existing reader group's details and access scope.
Updated display name of the reader group. Maximum 50 characters.
Updated description of the reader group.
Updated list of reader IDs. Replaces all existing reader memberships. Retrieve reader IDs from GET /v3/projects/{projectId}/readers.
Updated access scope. Replaces the existing access scope for the group.
The level at which access is scoped. Possible values: 0 = None, 1 = Category, 2 = Version, 3 = Project, 4 = Language, 5 = Article, 6 = Workspace.
List of specific category scopes when AccessLevel is Category (1). Null or empty for broader access levels.
Specifies access to a specific category within a project version and language.
Unique identifier of the project version containing the category. Retrieve from GET /v3/projects/{projectId}/project-versions.
Unique identifier of the category to grant access to. Retrieve from GET /v3/projects/{projectId}/categories.
Language code for the category translation (e.g., "en", "fr", "de"). Retrieve available languages from GET /v3/projects/{projectId}/languages.
List of project version IDs the reader has access to when AccessLevel is Version (2). Retrieve version IDs from GET /v3/projects/{projectId}/project-versions.
List of language scopes defining which translations the reader can access. Applicable when AccessLevel is Language (4).
Specifies access to a specific language within a project version.
Unique identifier of the project version. Retrieve from GET /v3/projects/{projectId}/project-versions.
Language code to grant access to (e.g., "en", "fr", "de"). Retrieve available languages from GET /v3/projects/{projectId}/languages.
Updated list of SSO invitation IDs. Replaces all existing SSO invitation associations. Applicable only for SSO readers who haven't logged in yet.
Reader group updated successfully.
Returns the reader group after the update was applied
{
"data": {
"id": "b2c3d4e5-f6a7-4b8c-9d0e-a1b2c3d4e5f6",
"title": "Enterprise Customers (Updated)",
"description": "Readers from enterprise and premium-tier customer accounts",
"associated_readers": [
"d4e5f6a7-b8c9-4d0e-a1b2-c3d4e5f6a7b8",
"a3b4c5d6-e7f8-4a9b-c0d1-e2f3a4b5c6d7",
"e5f6a7b8-c9d0-4e1f-a2b3-c4d5e6f7a8b9"
],
"associated_invited_sso_users": [
"e5f6a7b8-c9d0-4e1f-a2b3-c4d5e6f7a8b9"
],
"access_scope": {
"access_level": "project",
"categories": [],
"project_versions": [],
"languages": []
}
},
"success": true,
"request_id": "a7b8c9d0-e1f2-3456-abcd-e67890123456",
"errors": [],
"warnings": []
}Generic API response wrapper containing typed data.
Response data payload.
Unique identifier of the reader group.
Display name of the reader group.
Description of the reader group's purpose.
List of reader IDs that belong to this group. Corresponds to readers from GET /v3/projects/{projectId}/readers.
List of SSO invitation IDs associated with this reader group. Applicable only for SSO readers who haven't logged in yet.
The access scope applied to all readers in this group.
The level at which access is scoped. Possible values: 0 = None, 1 = Category, 2 = Version, 3 = Project, 4 = Language, 5 = Article, 6 = Workspace.
List of specific category scopes when AccessLevel is Category (1). Null or empty for broader access levels.
Specifies access to a specific category within a project version and language.
Unique identifier of the project version containing the category. Retrieve from GET /v3/projects/{projectId}/project-versions.
Unique identifier of the category to grant access to. Retrieve from GET /v3/projects/{projectId}/categories.
Language code for the category translation (e.g., "en", "fr", "de"). Retrieve available languages from GET /v3/projects/{projectId}/languages.
List of project version IDs the reader has access to when AccessLevel is Version (2). Retrieve version IDs from GET /v3/projects/{projectId}/project-versions.
List of language scopes defining which translations the reader can access. Applicable when AccessLevel is Language (4).
Specifies access to a specific language within a project version.
Unique identifier of the project version. Retrieve from GET /v3/projects/{projectId}/project-versions.
Language code to grant access to (e.g., "en", "fr", "de"). Retrieve available languages from GET /v3/projects/{projectId}/languages.
Whether the API request was successful.
Unique identifier for request tracing and correlation.
List of errors if the request failed.
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
List of non-fatal warnings from the request.
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
The request body is malformed or contains invalid JSON.
RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
Authentication token is missing or invalid.
Authentication token is missing or invalid.
{
"type": "https://developer.document360.com/errors/unauthorized",
"title": "Unauthorized.",
"status": 401,
"detail": "The authentication token is missing or has expired.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "UNAUTHORIZED",
"message": "Bearer token is missing or invalid.",
"field": null,
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
Reader group not found.
The requested resource was not found.
{
"type": "https://developer.document360.com/errors/not-found",
"title": "Not Found.",
"status": 404,
"detail": "The requested resource does not exist or has been deleted.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "RESOURCE_NOT_FOUND",
"message": "The requested resource was not found.",
"field": null,
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
Rate limit exceeded. Retry after the duration specified in the Retry-After header.
Rate limit exceeded.
{
"type": "https://developer.document360.com/errors/too-many-requests",
"title": "Too Many Requests.",
"status": 429,
"detail": "Rate limit exceeded. Retry after the duration specified in the Retry-After header.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "TOO_MANY_REQUESTS",
"message": "Rate limit exceeded. Retry after the duration specified in the Retry-After header.",
"field": null,
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
An unexpected server error occurred.
Unexpected server error.
{
"type": "https://developer.document360.com/errors/internal-error",
"title": "Internal Server Error.",
"status": 500,
"detail": "An unexpected error occurred. Please try again or contact support.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected error occurred.",
"field": null,
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
